Streaming and storing video for audio/video recording and communication devices

ABSTRACT

Streaming and storing video for audio/video (A/V) recording and communication devices in accordance with various embodiments of the present disclosure are provided. In one embodiment, a method for an A/V recording and communication device comprises: recording video image data; executing a write operation to write the video image data at a write rate; executing a read operation to read the video image data at a first read rate that is greater than the write rate; continuing to read the video image data at the first read rate until the read operation catches up to the write operation; reading the video image data at a second read rate equal to the write rate; and transmitting streaming video to a client device, wherein a beginning portion of the streaming video is streamed at a first stream rate and thereafter streaming at a second stream rate less than the first stream rate.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of application Ser. No. 15/715,660,filed on Sep. 26, 2017, which claims priority to provisional applicationSer. No. 62/399,779, filed on Sep. 26, 2016. The entire contents of thepriority applications are hereby incorporated by reference as if fullyset forth.

TECHNICAL FIELD

The present embodiments relate to audio/video (AN) recording andcommunication devices, including A/V recording and communicationdoorbell systems. In particular, the present embodiments relate toimprovements in the functionality of A/V recording and communicationdevices that enhance the streaming and storing of video recorded by suchdevices.

BACKGROUND

Home safety is a concern for many homeowners and renters. Those seekingto protect or monitor their homes often wish to have video and audiocommunications with visitors, for example, those visiting an externaldoor or entryway. Audio/Video (A/V) recording and communication doorbellsystems provide this functionality, and can also aid in crime detectionand prevention. For example, audio and/or video captured by an A/Vrecording and communication doorbell can be uploaded to the cloud andrecorded on a remote server. Subsequent review of the A/V footage canaid law enforcement in capturing perpetrators of home burglaries andother crimes. Further, the presence of an A/V recording andcommunication doorbell at the entrance to a home acts as a powerfuldeterrent against would-be burglars.

BRIEF DESCRIPTION OF THE DRAWINGS

The various embodiments of the present streaming and storing video foraudio/video recording and communication devices now will be discussed indetail with an emphasis on highlighting the advantageous features. Theseembodiments depict the novel and non-obvious streaming and storing videofor audio/video recording and communication devices shown in theaccompanying drawings, which are for illustrative purposes only. Thesedrawings include the following figures, in which like numerals indicatelike parts:

FIG. 1 is a functional block diagram illustrating one embodiment of anA/V recording and communication doorbell system according to the presentembodiments;

FIG. 2 is a flowchart illustrating one embodiment of a process forstreaming and storing A/V content from an A/V recording andcommunication doorbell system according to various aspects of thepresent disclosure;

FIG. 3 is a functional block diagram illustrating an embodiment of anA/V recording and communication doorbell system according to the presentdisclosure;

FIG. 4 is a front perspective view of an embodiment of an A/V recordingand communication doorbell according to the present disclosure;

FIG. 5 is a rear perspective view of the A/V recording and communicationdoorbell of FIG. 4;

FIG. 6 is a partially exploded front perspective view of the A/Vrecording and communication doorbell of FIG. 4 showing the coverremoved;

FIGS. 7, 8, and 9 are front perspective views of various internalcomponents of the A/V recording and communication doorbell of FIG. 4;

FIG. 10 is a right-side cross-sectional view of the A/V recording andcommunication doorbell of FIG. 4 taken through the line 10-10 in FIG. 4;

FIGS. 11-13 are rear perspective views of various internal components ofthe A/V recording and communication doorbell of FIG. 4;

FIG. 14 is a flowchart illustrating one embodiment of a process forstreaming and storing A/V content from an A/V recording andcommunication device according to various aspects of the presentdisclosure;

FIGS. 15-21 are schematic diagrams of a computer memory illustrating oneembodiment of a write/read process according to various aspects of thepresent disclosure;

FIG. 22 is a functional block diagram of a client device on which thepresent embodiments may be implemented according to various aspects ofthe present disclosure; and

FIG. 23 is a functional block diagram of a general-purpose computingsystem on which the present embodiments may be implemented according tovarious aspects of present disclosure.

DETAILED DESCRIPTION

The various embodiments of the present streaming and storing video foraudio/video recording and communication devices have several features,no single one of which is solely responsible for their desirableattributes. Without limiting the scope of the present embodiments asexpressed by the claims that follow, their more prominent features nowwill be discussed briefly. After considering this discussion, andparticularly after reading the section entitled “Detailed Description,”one will understand how the features of the present embodiments providethe advantages described herein.

One aspect of the present embodiments includes the realization that incurrent audio/video (A/V) recording and communication devices (e.g.,doorbells) other than the present embodiments, streaming video that issent from the A/V recording and communication device to the user'sclient device does not include any images of events that took placeprior to the event that triggered the sending of the streaming video.For example, when the A/V recording and communication device detects anevent, such as motion in the area about the A/V recording andcommunication device or a visitor pressing the front button of the A/Vrecording and communication device (when the A/V recording andcommunication device is a doorbell), the streaming video that is sentfrom the A/V recording and communication device to the user's clientdevice begins at (or just after) the moment that the motion was detectedor the front button was pressed. Often, however, the events thatoccurred just prior to the event detection are of interest to the user.The present embodiments solve this problem by continuously recording,with the camera of the A/V recording and communication device, the areawithin the field of view of the camera and, then, when an event isdetected, beginning the streaming video at a time that is prior to theevent detection. The continuously recorded video images are stored in arolling buffer, and the streaming video begins from the beginning of therolling buffer. In order that the streaming video can be presented tothe user in real time, a beginning portion of the streaming video isread out of the rolling buffer and streamed to the user's client deviceat a rate that is higher than the rate at which the video image data iswritten to the rolling buffer. When the read operation catches up to thewrite operation, the read rate drops to match the write rate. Thepresent embodiments thus advantageously enable the user to view videoimages of events that happened just prior to the detected event, therebydelivering more information to the user to help the user betterunderstand what is taking place in the streaming video.

The following detailed description describes the present embodimentswith reference to the drawings. In the drawings, reference numbers labelelements of the present embodiments. These reference numbers arereproduced below in connection with the discussion of the correspondingdrawing features.

The embodiments of the present streaming and storing video foraudio/video recording and communication devices are described below withreference to the figures. These figures, and their written descriptions,indicate that certain components of the apparatus are formed integrally,and certain other components are formed as separate pieces. Those ofordinary skill in the art will appreciate that components shown anddescribed herein as being formed integrally may in alternativeembodiments be formed as separate pieces. Those of ordinary skill in theart will further appreciate that components shown and described hereinas being formed as separate pieces may in alternative embodiments beformed integrally. Further, as used herein the term integral describes asingle unitary piece.

With reference to FIG. 1, the present embodiments include an audio/video(A/V) recording and communication doorbell 100. The A/V recording andcommunication doorbell 100 is may be located near the entrance to astructure (not shown), such as a dwelling, a business, a storagefacility, etc. The A/V recording and communication doorbell 100 includesa camera 102, a microphone 104, and a speaker 106. The camera 102 maycomprise, for example, a high definition (HD) video camera, such as onecapable of capturing video images at an image display resolution of 720por better. While not shown, the A/V recording and communication doorbell100 may also include other hardware and/or components, such as ahousing, one or more motion sensors (and/or other types of sensors), abutton, etc. The A/V recording and communication doorbell 100 mayfurther include similar componentry and/or functionality as the wirelesscommunication doorbells described in US Patent Application PublicationNos. 2015/0022620 (application Ser. No. 14/499,828) and 2015/0022618(application Ser. No. 14/334,922), both of which are incorporated hereinby reference in their entireties as if fully set forth.

With further reference to FIG. 1, the A/V recording and communicationdoorbell 100 communicates with a user's network 110, which may be forexample a wired and/or wireless network. If the user's network 110 iswireless, or includes a wireless component, the network 110 may be aWi-Fi network compatible with the IEEE 802.11 standard and/or otherwireless communication standard(s). The user's network 110 is connectedto another network 112, which may comprise, for example, the Internetand/or a public switched telephone network (PSTN). As described below,the A/V recording and communication doorbell 100 may communicate with auser's client device 114 via the user's network 110 and the network 112(Internet/PSTN). The user's client device 114 may comprise, for example,a mobile telephone (may also be referred to as a cellular telephone),such as a smartphone, a personal digital assistant (PDA), or anothercommunication and/or computing device. The user's client device 114comprises a display (not shown) and related components capable ofdisplaying streaming and/or recorded video images. The user's clientdevice 114 may also comprise a speaker and related components capable ofbroadcasting streaming and/or recorded audio, and may also comprise amicrophone. The A/V recording and communication doorbell 100 may alsocommunicate with one or more remote storage device(s) 116 (may bereferred to interchangeably as “cloud storage device(s)”), one or moreservers 118, and/or a backend API (application programming interface)120 via the user's network 110 and the network 112 (Internet/PSTN).While FIG. 1 illustrates the storage device 116, the server 118, and thebackend API 120 as components separate from the network 112, it is to beunderstood that the storage device 116, the server 118, and/or thebackend API 120 may be considered to be components of the network 112.

The network 112 may be any wireless network or any wired network, or acombination thereof, configured to operatively couple theabove-mentioned modules, devices, and systems as shown in FIG. 1. Forexample, the network 112 may include one or more of the following: aPSTN (public switched telephone network), the Internet, a localintranet, a PAN (Personal Area Network), a LAN (Local Area Network), aWAN (Wide Area Network), a MAN (Metropolitan Area Network), a virtualprivate network (VPN), a storage area network (SAN), a frame relayconnection, an Advanced Intelligent Network (AIN) connection, asynchronous optical network (SONET) connection, a digital T1, T3, E1 orE3 line, a Digital Data Service (DDS) connection, a DSL (DigitalSubscriber Line) connection, an Ethernet connection, an ISDN (IntegratedServices Digital Network) line, a dial-up port such as a V.90, V.34, orV.34bis analog modem connection, a cable modem, an ATM (AsynchronousTransfer Mode) connection, or an FDDI (Fiber Distributed Data Interface)or CDDI (Copper Distributed Data Interface) connection. Furthermore,communications may also include links to any of a variety of wirelessnetworks, including WAP (Wireless Application Protocol), GPRS (GeneralPacket Radio Service), GSM (Global System for Mobile Communication),LTE, VoLTE, LoRaWAN, LPWAN, RPMA, LTE, Cat-“X” (e.g. LTE Cat 1, LTE Cat0, LTE CatM1, LTE Cat NB1), CDMA (Code Division Multiple Access), TDMA(Time Division Multiple Access), FDMA (Frequency Division MultipleAccess), and/or OFDMA (Orthogonal Frequency Division Multiple Access)cellular phone networks, GPS, CDPD (cellular digital packet data), RIM(Research in Motion, Limited) duplex paging network, Bluetooth radio, oran IEEE 802.11-based radio frequency network. The network can furtherinclude or interface with any one or more of the following: RS-232serial connection, IEEE-1394 (Firewire) connection, Fibre Channelconnection, IrDA (infrared) port, SCSI (Small Computer SystemsInterface) connection, USB (Universal Serial Bus) connection, or otherwired or wireless, digital or analog, interface or connection, mesh orDigi® networking.

According to one or more aspects of the present embodiments, when aperson (may be referred to interchangeably as “visitor”) arrives at theA/V recording and communication doorbell 100, the A/V recording andcommunication doorbell 100 detects the visitor's presence and beginscapturing video images within a field of view of the camera 102. The A/Vrecording and communication doorbell 100 may also capture audio throughthe microphone 104. The A/V recording and communication doorbell 100 maydetect the visitor's presence by detecting motion using the camera 102and/or a motion sensor, and/or by detecting that the visitor has presseda front button of the A/V recording and communication doorbell 100.

In response to the detection of the visitor, the A/V recording andcommunication doorbell 100 sends an alert to the user's client device114 (FIG. 1) via the user's network 110 and the network 112. The A/Vrecording and communication doorbell 100 also sends streaming video, andmay also send streaming audio, to the user's client device 114. If theuser answers the alert, two-way audio communication may then occurbetween the visitor and the user through the A/V recording andcommunication doorbell 100 and the user's client device 114. The usermay view the visitor throughout the duration of the call, but thevisitor cannot see the user (unless the A/V recording and communicationdoorbell 100 includes a display, which it may in some embodiments).

The video images captured by the camera 102 of the A/V recording andcommunication doorbell 100 (and the audio captured by the microphone104) may be uploaded to the cloud and recorded on the remote storagedevice 116 (FIG. 1). In some embodiments, the video and/or audio may berecorded on the remote storage device 116 even if the user chooses toignore the alert sent to his or her client device 114.

With further reference to FIG. 1, the system may further comprise abackend API 120 including one or more components. A backend API(application programming interface) may comprise, for example, a server(e.g. a real server, or a virtual machine, or a machine running in acloud infrastructure as a service), or multiple servers networkedtogether, exposing at least one API to client(s) accessing it. Theseservers may include components such as application servers (e.g.software servers), depending upon what other components are included,such as a caching layer, or database layers, or other components. Abackend API may, for example, comprise many such applications, each ofwhich communicate with one another using their public APIs. In someembodiments, the API backend may hold the bulk of the user data andoffer the user management capabilities, leaving the clients to have avery limited state.

The backend API 120 illustrated in FIG. 1 may include one or more APIs.An API is a set of routines, protocols, and tools for building softwareand applications. An API expresses a software component in terms of itsoperations, inputs, outputs, and underlying types, definingfunctionalities that are independent of their respectiveimplementations, which allows definitions and implementations to varywithout compromising the interface. Advantageously, an API may provide aprogrammer with access to an application's functionality without theprogrammer needing to modify the application itself, or even understandhow the application works. An API may be for a web-based system, anoperating system, or a database system, and it provides facilities todevelop applications for that system using a given programming language.In addition to accessing databases or computer hardware like hard diskdrives or video cards, an API can ease the work of programming GUIcomponents. For example, an API can facilitate integration of newfeatures into existing applications (a so-called “plug-in API”). An APIcan also assist otherwise distinct applications with sharing data, whichcan help to integrate and enhance the functionalities of theapplications.

The backend API 120 illustrated in FIG. 1 may further include one ormore services (also referred to as network services). A network serviceis an application that provides data storage, manipulation,presentation, communication, and/or other capability. Network servicesare often implemented using a client-server architecture based onapplication-layer network protocols. Each service may be provided by aserver component running on one or more computers (such as a dedicatedserver computer offering multiple services) and accessed via a networkby client components running on other devices. However, the client andserver components can both be run on the same machine. Clients andservers may have a user interface, and sometimes other hardwareassociated with them.

FIG. 2 is a flowchart illustrating a process for streaming and storingA/V content from an A/V recording and communication doorbell systemaccording to various aspects of the present disclosure. At block B200,the A/V recording and communication doorbell 100 detects the visitor'spresence and begins capturing video images within a field of view of thecamera 102. The A/V recording and communication doorbell 100 may alsocapture audio through the microphone 104. As described above, the A/Vrecording and communication doorbell 100 may detect the visitor'spresence by detecting motion using the camera 102 and/or a motionsensor, and/or by detecting that the visitor has depressed the button onthe A/V recording and communication doorbell 100.

At block B202, a communication module of the A/V recording andcommunication doorbell 100 sends a connection request, via the user'snetwork 110 and the network 112, to a device in the network 112. Forexample, the network device to which the request is sent may be a serversuch as the server 118. The server 118 may comprise a computer programand/or a machine that waits for requests from other machines or software(clients) and responds to them. A server typically processes data. Onepurpose of a server is to share data and/or hardware and/or softwareresources among clients. This architecture is called the client-servermodel. The clients may run on the same computer or may connect to theserver over a network. Examples of computing servers include databaseservers, file servers, mail servers, print servers, web servers, gameservers, and application servers. The term server may be construedbroadly to include any computerized process that shares a resource toone or more client processes.

In response to the request, at block B204 the network device may connectthe A/V recording and communication doorbell 100 to the user's clientdevice 114 through the user's network 110 and the network 112. At blockB206, the A/V recording and communication doorbell 100 may recordavailable audio and/or video data using the camera 102, the microphone104, and/or any other sensor available. At block B208, the audio and/orvideo data is transmitted (streamed) from the A/V recording andcommunication doorbell 100 to the user's client device 114 via theuser's network 110 and the network 112. At block B210, the user mayreceive a notification on his or her client device 114 with a prompt toeither accept or deny the call.

At block B212, the process determines whether the user has accepted ordenied the call. If the user denies the notification, then the processadvances to block B214, where the audio and/or video data is recordedand stored at a cloud server. The session then ends at block B216 andthe connection between the A/V recording and communication doorbell 100and the user's client device 114 is terminated. If, however, the useraccepts the notification, then at block B218 the user communicates withthe visitor through the user's client device 114 while audio and/orvideo data captured by the camera 102, the microphone 104, and/or othersensors is streamed to the user's client device 114. At the end of thecall, the user may terminate the connection between the user's clientdevice 114 and the A/V recording and communication doorbell 100 and thesession ends at block B216. In some embodiments, the audio and/or videodata may be recorded and stored at a cloud server (block B214) even ifthe user accepts the notification and communicates with the visitorthrough the user's client device 114.

Many of today's homes include a wired doorbell system that does not haveA/V communication capabilities. Instead, standard wired doorbell systemsinclude a button outside the home next to the front door. The buttonactivates a signaling device (such as a bell or a buzzer) inside thebuilding. Pressing the doorbell button momentarily closes the doorbellcircuit, which may be, for example, a single-pole, single-throw (SPST)push button switch. One terminal of the button is wired to a terminal ona transformer. The transformer steps down the 120-volt or 240-volthousehold AC electrical power to a lower voltage, typically 16 to 24volts. Another terminal on the transformer is wired to a terminal on thesignaling device. Another terminal on the signaling device is wired tothe other terminal on the button. A common signaling device includes twoflat metal bar resonators, which are struck by plungers operated by twosolenoids. The flat bars are tuned to different notes. When the doorbellbutton is pressed, the first solenoid's plunger strikes one of the bars,and when the button is released, a spring on the plunger pushes theplunger up, causing it to strike the other bar, creating a two-tonesound (“ding-dong”).

Many current A/V recording and communication doorbell systems (otherthan the present embodiments) are incompatible with existing wireddoorbell systems of the type described in the preceding paragraph. Onereason for this incompatibility is that the A/V recording andcommunication doorbell draws an amount of power from the household ACelectrical power supply that is above the threshold necessary forcausing the signaling device to sound. The A/V recording andcommunication doorbell thus causes frequent inadvertent sounding of thesignaling device, which is not only bothersome to the home'soccupant(s), but also undermines the usefulness of the doorbell. Thepresent embodiments solve this problem by limiting the power consumptionof the A/V recording and communication doorbell to an amount that isbelow the threshold necessary for causing the signaling device to sound.Embodiments of the present A/V recording and communication doorbell canthus be connected to the existing household AC power supply and theexisting signaling device without causing inadvertent sounding of thesignaling device.

Several advantages flow from the ability of the present embodiments tobe connected to the existing household AC power supply. For example, thecamera of the present A/V recording and communication doorbell can bepowered on continuously. In a typical battery-powered A/V recording andcommunication doorbell, the camera is powered on only part of the timeso that the battery does not drain too rapidly. The present embodiments,by contrast, do not rely on a battery as a primary (or sole) powersupply, and are thus able to keep the camera powered on continuously.Because the camera is able to be powered on continuously, it can alwaysbe recording, and recorded footage can be continuously stored in arolling buffer or sliding window. In some embodiments, about 10-15seconds of recorded footage can be continuously stored in the rollingbuffer or sliding window. Also, because the camera is able to be poweredon continuously, it can be used for motion detection, thus eliminatingany need for a separate motion detection device, such as a passiveinfrared sensor (PIR). Eliminating the PIR simplifies the design of theA/V recording and communication doorbell and enables the doorbell to bemade more compact. Also, because the camera is able to be powered oncontinuously, it can be used as a light detector for use in controllingthe current state of the IR cut filter and turning the IR LED on andoff. Using the camera as a light detector eliminates any need for aseparate light detector, thereby further simplifying the design of theA/V recording and communication doorbell and enabling the doorbell to bemade even more compact.

FIGS. 3-13 illustrate one embodiment of a low-power-consumption A/Vrecording and communication doorbell 130 according to various aspects ofthe present disclosure. FIG. 3 is a functional block diagramillustrating various components of the A/V recording and communicationdoorbell 130 and their relationships to one another. For example, theA/V recording and communication doorbell 130 includes a pair ofterminals 131, 132 configured to be connected to a source of external AC(alternating-current) power, such as a household AC power supply 134(may also be referred to as AC mains). The AC power 134 may have avoltage in the range of 16-24 VAC, for example. The incoming AC power134 may be converted to DC (direct-current) by an AC/DC rectifier 136.An output of the AC/DC rectifier 136 may be connected to an input of aDC/DC converter 138, which may step down the voltage from the output ofthe AC/DC rectifier 136 from 16-24 VDC to a lower voltage of about 5VDC, for example. In various embodiments, the output of the DC/DCconverter 138 may be in a range of from about 2.5 V to about 7.5 V, forexample.

With further reference to FIG. 3, the output of the DC/DC converter 138is connected to a power manager 140, which may comprise an integratedcircuit including a processor core, memory, and/or programmableinput/output peripherals. In one non-limiting example, the power manager140 may be an off-the-shelf component, such as the BQ24773 chipmanufactured by Texas Instruments. As described in detail below, thepower manager 140 controls, among other things, an amount of power drawnfrom the external power supply 134, as well as an amount of supplementalpower drawn from a battery 142, to power the A/V recording andcommunication doorbell 130. The power manager 140 may, for example,limit the amount of power drawn from the external power supply 134 sothat a threshold power draw is not exceeded. In one non-limitingexample, the threshold power, as measured at the output of the DC/DCconverter 138, may be equal to 1.4 A. The power manager 140 may alsocontrol an amount of power drawn from the external power supply 134 anddirected to the battery 142 for recharging of the battery 142. An outputof the power manager 140 is connected to a power sequencer 144, whichcontrols a sequence of power delivery to other components of the A/Vrecording and communication doorbell 130, including a communicationmodule 146, a front button 148, a microphone 150, a speaker driver 151,a speaker 152, an audio CODEC (Coder-DECoder) 153, a camera 154, aninfrared (IR) light source 156, an IR cut filter 158, a processor 160(may also be referred to as a controller 160), a plurality of lightindicators 162, and a controller 164 for the light indicators 162. Eachof these components is described in detail below. The power sequencer144 may comprise an integrated circuit including a processor core,memory, and/or programmable input/output peripherals. In onenon-limiting example, the power sequencer 144 may be an off-the-shelfcomponent, such as the RT5024 chip manufactured by Richtek.

With further reference to FIG. 3, the A/V recording and communicationdoorbell 130 further comprises an electronic switch 166 that closes whenthe front button 148 is depressed. When the electronic switch 166closes, power from the AC power source 134 is diverted through asignaling device 168 that is external to the A/V recording andcommunication doorbell 130 to cause the signaling device 168 to emit asound, as further described below. In one non-limiting example, theelectronic switch 166 may be a triac device. The A/V recording andcommunication doorbell 130 further comprises a reset button 170configured to initiate a hard reset of the processor 160, as furtherdescribed below.

With further reference to FIG. 3, the processor 160 may perform dataprocessing and various other functions, as described below. Theprocessor 160 may comprise an integrated circuit including a processorcore, memory 172, non-volatile memory 174, and/or programmableinput/output peripherals (not shown). The memory 172 may comprise, forexample, DDR3 (double data rate type three synchronous dynamicrandom-access memory). The non-volatile memory 174 may comprise, forexample, NAND flash memory. In the embodiment illustrated in FIG. 3, thememory 172 and the non-volatile memory 174 are illustrated within thebox representing the processor 160. It is to be understood that theembodiment illustrated in FIG. 3 is merely an example, and in someembodiments the memory 172 and/or the non-volatile memory 174 are notnecessarily physically incorporated with the processor 160. The memory172 and/or the non-volatile memory 174, regardless of their physicallocation, may be shared by one or more other components (in addition tothe processor 160) of the present A/V recording and communicationdoorbell 130.

The transfer of digital audio between the user and a visitor may becompressed and decompressed using the audio CODEC 153, which isoperatively coupled to the processor 160. When the visitor speaks, audiofrom the visitor is compressed by the audio CODEC 153, digital audiodata is sent through the communication module 146 to the network 112 viathe user's network 110, routed by the server 118 and delivered to theuser's client device 114. When the user speaks, after being transferredthrough the network 112, the user's network 110, and the communicationmodule 146, the digital audio data is decompressed by the audio CODEC153 and emitted to the visitor through the speaker 152, which is drivenby the speaker driver 151.

With further reference to FIG. 3, some of the present embodiments mayinclude a shunt 176 connected in parallel with the signaling device 168.The shunt 176 facilitates the ability of the A/V recording andcommunication doorbell 130 to draw power from the AC power source 134without inadvertently triggering the signaling device 168. The shunt176, during normal standby operation, presents a relatively lowelectrical impedance, such as a few ohms, across the terminals of thesignaling device 168. Most of the current drawn by the A/V recording andcommunication doorbell 130, therefore, flows through the shunt 176, andnot through the signaling device 168. The shunt 176, however, containselectronic circuitry (described below) that switches the shunt 176between a state of low impedance, such as a few ohms, for example, and astate of high impedance, such as >1K ohms, for example. When the frontbutton 148 of the A/V recording and communication doorbell 130 ispressed, the electronic switch 166 closes, causing the voltage from theAC power source 134 to be impressed mostly across the shunt 176 and thesignaling device 168 in parallel, while a small amount of voltage, suchas about 1V, is impressed across the electronic switch 166. Thecircuitry in the shunt 176 senses this voltage, and switches the shunt176 to the high impedance state, so that power from the AC power source134 is diverted through the signaling device 168. The diverted AC power134 is above the threshold necessary to cause the signaling device 168to emit a sound. Pressing the front button 148 of the doorbell 130therefore causes the signaling device 168 to “ring,” alerting anyperson(s) within the structure to which the doorbell 130 is mounted thatthere is a visitor at the front door (or at another locationcorresponding to the location of the doorbell 130). In one non-limitingexample, the electronic switch 166 may be a triac device.

With reference to FIGS. 4-6, the A/V recording and communicationdoorbell 130 further comprises a housing 178 having an enclosure 180(FIG. 6), a back plate 182 secured to the rear of the enclosure 180, anda shell 184 overlying the enclosure 180. With reference to FIG. 6, theshell 184 includes a recess 186 that is sized and shaped to receive theenclosure 180 in a close fitting engagement, such that outer surfaces ofthe enclosure 180 abut conforming inner surfaces of the shell 184.Exterior dimensions of the enclosure 180 may be closely matched withinterior dimensions of the shell 184 such that friction maintains theshell 184 about the enclosure 180. Alternatively, or in addition, theenclosure 180 and/or the shell 184 may include mating features 188, suchas one or more tabs, grooves, slots, posts, etc. to assist inmaintaining the shell 184 about the enclosure 180. The back plate 182 issized and shaped such that the edges of the back plate 182 extendoutward from the edges of the enclosure 180, thereby creating a lip 190against which the shell 184 abuts when the shell 184 is mated with theenclosure 180, as shown in FIGS. 4 and 5. In some embodiments, multipleshells 184 in different colors may be provided so that the end user maycustomize the appearance of his or her A/V recording and communicationdoorbell 130. For example, the A/V recording and communication doorbell130 may be packaged and sold with multiple shells 184 in differentcolors in the same package.

With reference to FIG. 4, a front surface of the A/V recording andcommunication doorbell 130 includes the button 148 (may also be referredto as front button 148, FIG. 3), which is operatively connected to theprocessor 160. In a process similar to that described above withreference to FIG. 2, when a visitor presses the front button 148, analert may be sent to the user's client device to notify the user thatsomeone is at his or her front door (or at another locationcorresponding to the location of the A/V recording and communicationdoorbell 130). With further reference to FIG. 4, the A/V recording andcommunication doorbell 130 further includes the camera 154, which isoperatively connected to the processor 160, and which is located behinda shield 192. As described in detail below, the camera 154 is configuredto capture video images from within its field of view. Those videoimages can be streamed to the user's client device and/or uploaded to aremote network device for later viewing according to a process similarto that described above with reference to FIG. 2.

With reference to FIG. 5, a pair of terminal screws 194 extends throughthe back plate 182. The terminal screws 194 are connected at their innerends to the terminals 131, 132 (FIG. 3) within the A/V recording andcommunication doorbell 130. The terminal screws 194 are configured toreceive electrical wires to connect to the A/V recording andcommunication doorbell 130, through the terminals 131, 132, to thehousehold AC power supply 134 of the structure on which the A/Vrecording and communication doorbell 130 is mounted. In the illustratedembodiment, the terminal screws 194 are located within a recessedportion 196 of the rear surface 198 of the back plate 182 so that theterminal screws 194 do not protrude from the outer envelope of the A/Vrecording and communication doorbell 130. The A/V recording andcommunication doorbell 130 can thus be mounted to a mounting surfacewith the rear surface 198 of the back plate 182 abutting the mountingsurface. The back plate 182 includes apertures 200 adjacent its upperand lower edges to accommodate mounting hardware, such as screws (notshown), for securing the back plate 182 (and thus the A/V recording andcommunication doorbell 130) to the mounting surface. With reference toFIG. 6, the enclosure 180 includes corresponding apertures 202 adjacentits upper and lower edges that align with the apertures 200 in the backplate 182 to accommodate the mounting hardware. In certain embodiments,the A/V recording and communication doorbell 130 may include a mountingplate or bracket (not shown) to facilitate securing the A/V recordingand communication doorbell 130 to the mounting surface.

With further reference to FIG. 6, the shell 184 includes a centralopening 204 in a front surface. The central opening 204 is sized andshaped to accommodate the shield 192. In the illustrated embodiment, theshield 192 is substantially rectangular, and includes a central opening206 through which the front button 148 protrudes. The shield 192 definesa plane parallel to and in front of a front surface 208 of the enclosure180. When the shell 184 is mated with the enclosure 180, as shown inFIGS. 4 and 10, the shield 192 resides within the central opening 204 ofthe shell 184 such that a front surface 210 of the shield 192 issubstantially flush with a front surface 212 of the shell 184 and thereis little or no gap (FIG. 4) between the outer edges of the shield 192and the inner edges of the central opening 204 in the shell 184.

With further reference to FIG. 6, the shield 192 includes an upperportion 214 (located above and to the sides of the front button 148) anda lower portion 216 (located below and to the sides of the front button148). The upper and lower portions 214, 216 of the shield 192 may beseparate pieces, and may comprise different materials. The upper portion214 of the shield 192 may be transparent or translucent so that it doesnot interfere with the field of view of the camera 154. For example, incertain embodiments the upper portion 214 of the shield 192 may compriseglass or plastic. As described in detail below, the microphone 150,which is operatively connected to the processor 160, is located behindthe upper portion 214 of the shield 192. The upper portion 214,therefore, may include an opening 218 that facilitates the passage ofsound through the shield 192 so that the microphone 150 is better ableto pick up sounds from the area around the A/V recording andcommunication doorbell 130.

The lower portion 216 of the shield 192 may comprise a material that issubstantially transparent to infrared (IR) light, but partially ormostly opaque with respect to light in the visible spectrum. Forexample, in certain embodiments the lower portion 216 of the shield 192may comprise a plastic, such as polycarbonate. The lower portion 216 ofthe shield 192, therefore, does not interfere with transmission of IRlight from the IR light source 156, which is located behind the lowerportion 216. As described in detail below, the IR light source 156 andthe IR cut filter 158, which are both operatively connected to theprocessor 160, facilitate “night vision” functionality of the camera154.

The upper portion 214 and/or the lower portion 216 of the shield 192 mayabut an underlying cover 220 (FIG. 10), which may be integral with theenclosure 180 or may be a separate piece. The cover 220, which may beopaque, may include a first opening 222 corresponding to the location ofthe camera 154, a second opening (not shown) corresponding to thelocation of the microphone 150 and the opening 218 in the upper portion214 of the shield 192, and a third opening (not shown) corresponding tothe location of the IR light source 156.

FIGS. 7-10 illustrate various internal components of the A/V recordingand communication doorbell 130. FIGS. 7-9 are front perspective views ofthe doorbell 130 with the shell 184 and the enclosure 180 removed, whileFIG. 10 is a right-side cross-sectional view of the doorbell 130 takenthrough the line 10-10 in FIG. 4. With reference to FIGS. 7 and 8, theA/V recording and communication doorbell 130 further comprises a mainprinted circuit board (PCB) 224 and a front PCB 226. With reference toFIG. 8, the front PCB 226 comprises a button actuator 228. Withreference to FIGS. 7, 8, and 10, the front button 148 is located infront of the button actuator 228. The front button 148 includes a stem230 (FIG. 10) that extends into the housing 178 to contact the buttonactuator 228. When the front button 148 is pressed, the stem 230depresses the button actuator 228, thereby closing the electronic switch166 (FIG. 8), as described below.

With reference to FIG. 8, the front PCB 226 further comprises the lightindicators 162, which may illuminate when the front button 148 of thedoorbell 130 is pressed. In the illustrated embodiment, the lightindicators 162 comprise light-emitting diodes (LEDs 162) that aresurface mounted to the front surface of the front PCB 226 and arearranged in a circle around the button actuator 228. The presentembodiments are not limited to the light indicators 162 being LEDs, andin alternative embodiments the light indicators 162 may comprise anyother type of light-emitting device. The present embodiments are alsonot limited by the number of light indicators 162 shown in FIG. 8, norby the pattern in which they are arranged.

With reference to FIG. 7, the doorbell 130 further comprises a lightpipe 232. The light pipe 232 is a transparent or translucent ring thatencircles the front button 148. With reference to FIG. 4, the light pipe232 resides in an annular space between the front button 148 and thecentral opening 206 in the shield 192, with a front surface 234 of thelight pipe 232 being substantially flush with the front surface 210 ofthe shield 192. With reference to FIGS. 7 and 10, a rear portion oflight pipe 232 includes a plurality of posts 236 whose positionscorrespond to the positions of the LEDs 162. When the LEDs 162 areilluminated, light is transmitted through the posts 236 and the body ofthe light pipe 232 so that the light is visible at the front surface 234of the light pipe 232. The LEDs 162 and the light pipe 232 thus providea ring of illumination around the front button 148. The light pipe 232may comprise a plastic, for example, or any other suitable materialcapable of transmitting light.

The LEDs 162 and the light pipe 232 may function as visual indicatorsfor a visitor and/or a user. For example, the LEDs 162 may illuminateupon activation or stay illuminated continuously. In one aspect, theLEDs 162 may change color to indicate that the front button 148 has beenpressed. The LEDs 162 may also indicate that the battery 142 needsrecharging, or that the battery 142 is currently being charged, or thatcharging of the battery 142 has been completed. The LEDs 162 mayindicate that a connection to the user's network is good, limited, poor,or not connected. The LEDs 162 may be used to guide the user throughsetup or installation steps using visual cues, potentially coupled withaudio cues emitted from the speaker 152.

With further reference to FIG. 7, the A/V recording and communicationdoorbell 130 further comprises a rechargeable battery 142. As describedin further detail below, the A/V recording and communication doorbell130 is connected to an external power source 134 (FIG. 3), such as ACmains. The A/V recording and communication doorbell 130 is primarilypowered by the external power source 134, but may also draw power fromthe rechargeable battery 142 so as not to exceed a threshold amount ofpower from the external power source 134, to thereby avoid inadvertentlysounding the signaling device 168. With reference to FIG. 3, the battery142 is operatively connected to the power manager 140. As describedbelow, the power manager 140 controls an amount of power drawn from thebattery 142 to supplement the power drawn from the external AC powersource 134 to power the A/V recording and communication doorbell 130when supplemental power is needed. The power manager 140 also controlsrecharging of the battery 142 using power drawn from the external powersource 134. The battery 142 may comprise, for example, a lithium-ionbattery, or any other type of rechargeable battery.

With further reference to FIG. 7, the A/V recording and communicationdoorbell 130 further comprises the camera 154. The camera 154 is coupledto a front surface of the front PCB 226, and includes a lens 238 and animaging processor 240 (FIG. 9). The camera lens 238 may be a lenscapable of focusing light into the camera 154 so that clear images maybe captured. The camera 154 may comprise, for example, a high definition(HD) video camera, such as one capable of capturing video images at animage display resolution of 720p or better. In certain of the presentembodiments, the camera 154 may be used to detect motion within itsfield of view, as described below.

With further reference to FIG. 7, the A/V recording and communicationdoorbell 130 further comprises an infrared (IR) light source 242. In theillustrated embodiment, the IR light source 242 comprises an IRlight-emitting diode (LED) 242 coupled to an IR LED printed circuitboard (PCB) 244. In alternative embodiments, the IR LED 242 may notcomprise a separate PCB 244, and may, for example, be coupled to thefront PCB 226.

With reference to FIGS. 7 and 10, the IR LED PCB 244 is located belowthe front button 148 (FIG. 7) and behind the lower portion 216 of theshield 192 (FIG. 10). As described above, the lower portion 216 of theshield 192 is transparent to IR light, but may be opaque with respect tolight in the visible spectrum.

The IR LED 242 may be triggered to activate when a low level of ambientlight is detected. When activated, IR light emitted from the IR LED 242illuminates the camera 154's field of view. The camera 154, which may beconfigured to detect IR light, may then capture the IR light emitted bythe IR LED 242 as it reflects off objects within the camera 154's fieldof view, so that the A/V recording and communication doorbell 130 canclearly capture images at night (may be referred to as “night vision”).

With reference to FIG. 9, the A/V recording and communication doorbell130 further comprises an IR cut filter 158. The IR cut filter 158 is amechanical shutter that can be selectively positioned between the lens238 and the image sensor of the camera 154. During daylight hours, orwhenever there is a sufficient amount of ambient light, the IR cutfilter 158 is positioned between the lens 238 and the image sensor tofilter out IR light so that it does not distort the colors of images asthe human eye sees them. During nighttime hours, or whenever there islittle to no ambient light, the IR cut filter 158 is withdrawn from thespace between the lens 238 and the image sensor, so that the camera 154is sensitive to IR light (“night vision”). In some embodiments, thecamera 154 acts as a light detector for use in controlling the currentstate of the IR cut filter 158 and turning the IR LED 242 on and off.Using the camera 154 as a light detector is facilitated in someembodiments by the fact that the A/V recording and communicationdoorbell 130 is powered by a connection to AC mains, and the camera 154,therefore, is always powered on. In other embodiments, however, the A/Vrecording and communication doorbell 130 may include a light sensorseparate from the camera 154 for use in controlling the IR cut filter158 and the IR LED 242.

With reference back to FIG. 6, the A/V recording and communicationdoorbell 130 further comprises a reset button 170. The reset button 170contacts a reset button actuator 246 (FIG. 7) coupled to the front PCB226. When the reset button 170 is pressed, it may contact the resetbutton actuator 246, which may trigger the erasing of any data stored atthe non-volatile memory 174 and/or at the memory 172 (FIG. 3), and/ormay trigger a reboot of the processor 160.

FIGS. 11-13 further illustrate internal components of the A/V recordingand communication doorbell 130. FIGS. 11-13 are rear perspective viewsof the doorbell 130 with the back plate 182 and additional componentsremoved. For example, in FIG. 11 the back plate 182 is removed, while inFIG. 12 the back plate 182 and the main PCB 224 are removed, and in FIG.13 the back plate 182, the main PCB 224, and the front PCB 226 areremoved. With reference to FIG. 11, several components are coupled tothe rear surface of the main PCB 224, including the communication module146, the processor 160, memory 172, and non-volatile memory 174. Thefunctions of each of these components are described below. Withreference to FIG. 12, several components are coupled to the rear surfaceof the front PCB 226, including the power manager 140, the powersequencer 144, the AC/DC rectifier 136, the DC/DC converter 138, and thecontroller 164 for the light indicators 162. The functions of each ofthese components are also described below. With reference to FIG. 13,several components are visible within the enclosure 180, including themicrophone 150, a speaker chamber 248 (in which the speaker 152 islocated), and an antenna 250 for the communication module 146. Thefunctions of each of these components are also described below.

With reference to FIG. 7, the antenna 250 is coupled to the frontsurface of the main PCB 224 and operatively connected to thecommunication module 146, which is coupled to the rear surface of themain PCB 224 (FIG. 11). The microphone 150, which may also be coupled tothe front surface of the main PCB 224, is located near the opening 218(FIG. 4) in the upper portion 214 of the shield 192 so that soundsemanating from the area around the A/V recording and communicationdoorbell 130 can pass through the opening 218 and be detected by themicrophone 150. With reference to FIG. 13, the speaker chamber 248 islocated near the bottom of the enclosure 180. The speaker chamber 248comprises a hollow enclosure in which the speaker 152 is located. Thehollow speaker chamber 248 amplifies the sounds made by the speaker 152so that they can be better heard by a visitor in the area near the A/Vrecording and communication doorbell 130. With reference to FIGS. 5 and13, the lower surface 252 of the shell 184 and the lower surface (notshown) of the enclosure 180 may include an acoustical opening 254through which the sounds made by the speaker 152 can pass so that theycan be better heard by a visitor in the area near the A/V recording andcommunication doorbell 130. In the illustrated embodiment, theacoustical opening 254 is shaped generally as a rectangle having alength extending substantially across the lower surface 252 of the shell184 (and also the enclosure 180). The illustrated shape is, however,just one example. With reference to FIG. 5, the lower surface 252 of theshell 184 may further include an opening 256 for receiving a securityscrew (not shown). The security screw may extend through the opening 256and into a similarly located opening in the enclosure 180 to secure theshell 184 to the enclosure 180. If the doorbell 130 is mounted to amounting bracket (not shown), the security screw may also maintain thedoorbell 130 on the mounting bracket.

With reference to FIG. 13, the A/V recording and communication doorbell130 may further include a battery heater 258. The present A/V recordingand communication doorbell 130 is configured for outdoor use, includingin cold climates. Cold temperatures, however, can cause negativeperformance issues for rechargeable batteries, such as reduced energycapacity, increased internal resistance, reduced ability to chargewithout damage, and reduced ability to supply load current. The batteryheater 258 helps to keep the rechargeable battery 142 warm in order toreduce or eliminate the foregoing negative performance issues. In theillustrated embodiment, the battery heater 258 comprises a substantiallyflat, thin sheet abutting a side surface of the rechargeable battery142. The battery heater 258 may comprise, for example, an electricallyresistive heating element that produces heat when electrical current ispassed through it. The battery heater 258 may thus be operativelycoupled to the power manager 140 and/or the power sequencer 144 (FIG.12). In some embodiments, the rechargeable battery 142 may include athermally sensitive resistor (“thermistor,” not shown) operativelyconnected to the processor 160 so that the battery 142's temperature canbe monitored and the amount of power supplied to the battery heater 258can be adaptively controlled to keep the rechargeable battery 142 withina desired temperature range.

As described above, the present embodiments advantageously limit thepower consumption of the A/V recording and communication doorbell to anamount that is below the threshold necessary for causing the signalingdevice to sound (except when the front button of the doorbell ispressed). The present A/V recording and communication doorbell can thusbe connected to the existing household AC power supply and the existingsignaling device without causing inadvertent sounding of the signalingdevice.

Several advantages flow from the ability of the present embodiments tobe connected to the existing household AC power supply. For example, thecamera of the present A/V recording and communication doorbell can bepowered on continuously. In a typical battery-powered A/V recording andcommunication doorbell, the camera is powered on only part of the timeso that the battery does not drain too rapidly. The present embodiments,by contrast, do not rely on a battery as a primary (or sole) powersupply, and are thus able to keep the camera powered on continuously.Because the camera is able to be powered on continuously, it can alwaysbe recording, and recorded footage can be continuously stored in arolling buffer or sliding window. In some embodiments, about 10-15seconds of recorded footage can be continuously stored in the rollingbuffer or sliding window. Also, because the camera is able to be poweredon continuously, it can be used for motion detection, thus eliminatingany need for a separate motion detection device, such as a passiveinfrared sensor (PIR). Eliminating the PIR simplifies the design of theA/V recording and communication doorbell and enables the doorbell to bemade more compact, although in some alternative embodiments the doorbellmay include one or more PIRs. Also, because the camera is able to bepowered on continuously, it can be used as a light detector for use incontrolling the current state of the IR cut filter and turning the IRLED on and off. Using the camera as a light detector eliminates any needfor a separate light detector, thereby further simplifying the design ofthe A/V recording and communication doorbell and enabling the doorbellto be made even more compact, although in some alternative embodimentsthe doorbell may include a separate light detector.

One aspect of the present embodiments includes the realization that incurrent audio/video (A/V) recording and communication devices (e.g.,doorbells) other than the present embodiments, streaming video that issent from the A/V recording and communication device to the user'sclient device does not include any images of events that took placeprior to the event that triggered the sending of the streaming video.For example, when the A/V recording and communication device detects anevent, such as motion in the area about the A/V recording andcommunication device or a visitor pressing the front button of the A/Vrecording and communication device (when the A/V recording andcommunication device is a doorbell), the streaming video that is sentfrom the A/V recording and communication device to the user's clientdevice begins at (or just after) the moment that the motion was detectedor the front button was pressed. Often, however, the events thatoccurred just prior to the event detection are of interest to the user.The present embodiments solve this problem by continuously recording,with the camera of the A/V recording and communication device, the areawithin the field of view of the camera and then, when an event isdetected, beginning the streaming video at a time that is prior to theevent detection. The continuously recorded video images are stored in arolling buffer, and the streaming video begins from the beginning of therolling buffer. In order so that the streaming video can be presented tothe user in real time, a beginning portion of the streaming video isread out of the rolling buffer and streamed to the user's client deviceat a rate that is higher than the rate at which the video image data iswritten to the rolling buffer. When the read operation catches up to thewrite operation, the read rate drops to match the write rate. Thepresent embodiments thus advantageously enable the user to view videoimages of events that happened just prior to the detected event, therebydelivering more information to the user to help the user betterunderstand what is taking place in the streaming video.

FIG. 14 is a flowchart illustrating a process for streaming and storingA/V content from an A/V recording and communication device according tovarious aspects of the present disclosure. The method comprises, atblock B300, recording, with the camera, video image data of an areaabout the A/V recording and communication device and writing the videoimage data into the memory at a write rate. In some embodiments, theprocessor may execute a write operation to write the video image datainto the memory at the write rate. In one non-limiting example, thewrite rate may be 30 frames per second. The present embodiments are notlimited to any value of the write rate, and in other non-limitingexamples the write rate may be, for example, 5 frames per second (fps),or 10 fps, or 15 fps, or 20 fps, or 25 fps, or 35 fps, or 40 fps, or 45fps, or 50 fps, or 55 fps, or 60 fps, etc.

In some embodiments, the memory into which the video image data iswritten comprises a rolling buffer. A rolling buffer, which may also bereferred to as a circular buffer, a circular queue, a cyclic buffer, ora ring buffer, is a data structure that uses a single, fixed-size bufferas if it were connected end-to-end. FIG. 15 is a schematic diagram of arolling buffer 350. The rolling buffer 350, which may comprise at leasta portion of the memory 172 (FIG. 3), includes a plurality of segmentsor blocks 352. In the initial state of FIG. 15, which may correspond tothe A/V recording and communication device 130 being in a powered-downstate, each of the blocks 352 may be empty. When the A/V recording andcommunication device 130 is powered up, the camera 154 begins recordingvideo image data of the area within its field of view. The video imagedata is written into the rolling buffer 350 by a write operation 354,which may be executed by the processor 160, for example. With referenceto FIG. 16, as the write operation 354 proceeds, each of the blocks 352of the rolling buffer 350 receives and stores a portion of the videoimage data, as represented by the patterned blocks 356 to the left ofthe write operation 354. In the illustrated embodiment, the writeoperation 354 begins at the left side of the rolling buffer 350 andproceeds from left to right, as indicated by the arrow 358. Theillustrated example is, however, not limiting and not intended to berepresentative of the actual physical layout of the rolling buffer 350.

In some embodiments, each block 352 of the rolling buffer 350 maycorrespond to one frame of video image data. That is, each block 352 maystore one video frame, and the blocks 352 may be referred tointerchangeably as frames. Thus, a size of each block 352 may correspondto a size of each video frame. In some embodiments, the size of eachblock 352 may vary. That is, some blocks 352 may be larger or smallerthan other blocks 352.

As the write operation 354 continues, more and more blocks 352 receiveand store the video image data. With reference to FIG. 17, eventuallythe rolling buffer 350 is completely filled with the video image data,as represented by the patterned blocks 356. The write operation 354 thencontinues at the beginning of the rolling buffer 350, as indicated bythe return arrow 360 in FIG. 17. As the write operation 354 continues,the old video image data in each block 356 is overwritten with new videoimage data. This process may be repeated any number of times. The sizeof the rolling buffer 350 may be determined by a desired amount of videoimage data to be stored. For example, in some embodiments the rollingbuffer 350 may have sufficient size to store 5 seconds of video imagedata, or 10 seconds of video image data, or 15 seconds of video imagedata, or 20 seconds of video image data, or any other amount of videoimage data.

With reference back to FIG. 14, at block B302 the process determineswhether an event has been detected in the area about the A/V recordingand communication device 130. This determination may be made while thewrite operation 354 continues writing the video image data into therolling buffer 350. In some embodiments, the determination may be madeby the processor 160. For example, the processor 160 may receive aninput from the camera 154 (and/or from a separate motion sensor)indicative of motion within the field of view of the camera 154. Inanother example, the processor 160 may receive an input from the frontbutton 148 indicating that the front button 148 has been pressed.

If no event is detected at block B302, then the process returns to blockB300 and continues writing the video image data into the rolling buffer350. If, however, an event is detected at block B302, then the processmoves to block B304, where the communication module 146 sends aconnection request to a device in the network 112. This aspect may besimilar to, or the same as, that described above with reference to blockB202 of FIG. 3. At block B306, a read operation begins to read the videoimage data out of the rolling buffer 350. In some embodiments, the readoperation may be executed by the processor 160, for example.

FIG. 18 illustrates the beginning of the read operation 362. The readoperation 362 begins at the beginning of the rolling buffer 350, whichin some embodiments may be whichever buffer block 352/356 contains theoldest video image data. Again, in the example illustrated in FIGS.15-21 the write operation 354 moves through the rolling buffer 350 fromleft to right. Therefore, if all buffer blocks 352 contain video imagedata, then the oldest video image data is stored in whichever bufferblock is just ahead of the write operation 354, which in FIG. 18 is thebuffer block 364 just to the right of the write operation 354. Thisbuffer block 364 is the “beginning” of the rolling buffer 350, and iswhere the read operation 362 begins. Because the write operation 354 iscontinuous as long as the camera is on, the location of the “beginning”of the rolling buffer 350 is constantly changing.

In the present embodiments, the read operation 362 may begin at a firstread rate that is greater than the write rate. This aspect enables theread operation 362 to catch up to the write operation 354, so that whenthe read operation 362 catches up to the write operation 354 thestreaming video is real time (e.g., little to no delay between eventshappening within the field of view of the camera 154 and those eventsbeing depicted on the display of the user's client device 114). In someembodiments, the first read rate may be a multiple of the write ratethat is greater than one. In some non-limiting examples, the first readrate may be 1.1× the write rate, or 1.2× the write rate, or 1.3× thewrite rate, or 1.4× the write rate, or 1.5× the write rate, or 2× thewrite rate, or 2.5× the write rate, or 3× the write rate, etc. While theread operation 362 commences, the write operation 354 may continue towrite the video image data into the rolling buffer 350 at the writerate.

With reference back to FIG. 14, at block B308 the process continues withthe network device (which may be the server 118 or the backend API 120,for example) connecting the A/V recording and communication device 130to the user's client device 114 through the user's network 110 and thenetwork 112. This aspect may be similar to, or the same as, thatdescribed above with reference to block B204 of FIG. 3. The process thenmoves to block B310, where the read operation 362 continues to read thevideo image data out of the rolling buffer 350 at the first read rateuntil the read operation 362 catches up to the write operation 354.After the read operation 362 catches up to the write operation 354, theread operation 362 continues to read the video image data out of therolling buffer 350 at a second read rate that is equal to the writerate. Meanwhile, the write operation 354 continues to write the videoimage data into the rolling buffer 350 at the write rate.

FIGS. 19-21 illustrate the read operation 362 and the write operation354 continuing at different rates until the read operation 362 catchesup to the write operation 354. With reference to FIG. 19, as the readoperation 362 reads the video image data out of the rolling buffer 350 aseparation appears between the read operation 362 and the writeoperation 354, as indicated by the spacing between the read operation362 and the write operation 354 in FIG. 19 and by the empty blocks 352of the rolling buffer 350 (these blocks 352 have had their video imagedata read out and the write operation 354 has not yet reached theseblocks 352 to write new video image data into the empty blocks 352).With reference to FIG. 20, the separation between the read operation 362and the write operation 354 continues to grow due to the read operation362 progressing at a faster rate than the write operation 354. Withreference to FIG. 21, eventually the read operation 362 catches up tothe write operation 354 (e.g., the read operation 362 is one bufferblock behind the write operation 354), at which point the rate of theread operation 362 drops to match the rate of the write operation 354.

With reference back to FIG. 14, at block B312 the process continues withthe user receiving a notification on his or her client device 114 with aprompt to either accept or deny the call. This aspect may be similar to,or the same as, that described above with reference to block B210 ofFIG. 3. The process then moves to block B314, where the A/V recordingand communication device 130 transmits streaming video to the user'sclient device 114. In some embodiments, the communication module 146 maytransmit the streaming video to the user's client device 114. Abeginning portion of the streaming video may be streamed at a firststream rate and, thereafter, the streaming video may be streamed at asecond stream rate that is less than the first stream rate. For example,the first stream rate may be equal to the first read rate and the secondstream rate may be equal to the second read rate (which may be equal tothe write rate). If the user is viewing the streaming video on thedisplay of his or her client device 114, he or she will see thebeginning portion of the streaming video displayed at the first streamrate, which may appear to the user that the video is being fastforwarded (proceeding at a rate that is faster than the rate at whichthe actual events occurred). After the “fast forwarded” beginningportion of the streaming video, the user will see the streaming videocontinue at what appears to be a normal speed (a rate that correspondsto the rate at which the actual events are occurring).

With reference back to FIG. 14, the process may continue with blocksB316, B318, B320, and B322. Each of these blocks corresponds to blocksB212, B214, B216, and B218, respectively, which are described above withreference to FIG. 2.

While the process of FIG. 14 describes only video image data that iswritten into and read out of the rolling buffer 350, the presentembodiments contemplate that audio may also be incorporated into one ormore processes. For example, the audio data captured by the microphone150 of the A/V recording and communication device may also be writteninto and read out of the rolling buffer 350 in a process similar to thatdescribed with reference to FIG. 14. Alternatively, the audio datacaptured by the microphone 150 may be written into and read out ofanother memory, such as a different portion of the memory 172 or amemory location remote from the A/V recording and communication device.

As discussed below, the steps of the process of FIG. 14 need not beperformed in the order presented, and may be performed in any order(s).For example, blocks B304 and B306 may be performed in the reverse orderfrom that presented, or may be performed concurrently. In anotherexample, blocks B310 and B312 may be performed in the reverse order fromthat presented, or may be performed concurrently.

As discussed above, the present disclosure provides numerous examples ofmethods and systems including A/V recording and communication doorbells,but the present embodiments are equally applicable for A/V recording andcommunication devices other than doorbells. For example, the presentembodiments may include one or more A/V recording and communicationsecurity cameras instead of, or in addition to, one or more A/Vrecording and communication doorbells. An example A/V recording andcommunication security camera may include substantially all of thestructure and functionality of the doorbell 130, but without the frontbutton 148, the button actuator 228, and/or the light pipe 232.

FIG. 22 is a functional block diagram of a client device 800 on whichthe present embodiments may be implemented according to various aspectsof the present disclosure. The user's client device 114 described withreference to FIG. 1 may include some or all of the components and/orfunctionality of the client device 800. The client device 800 maycomprise, for example, a smartphone.

With reference to FIG. 22, the client device 800 includes a processor802, a memory 804, a user interface 806, a communication module 808, anda dataport 810. These components are communicatively coupled together byan interconnect bus 812. The processor 802 may include any processorused in smartphones and/or portable computing devices, such as an ARMprocessor (a processor based on the RISC (reduced instruction setcomputer) architecture developed by Advanced RISC Machines (ARM).). Insome embodiments, the processor 802 may include one or more otherprocessors, such as one or more conventional microprocessors, and/or oneor more supplementary co-processors, such as math co-processors.

The memory 804 may include both operating memory, such as random accessmemory (RAM), as well as data storage, such as read-only memory (ROM),hard drives, flash memory, or any other suitable memory/storage element.The memory 804 may include removable memory elements, such as aCompactFlash card, a MultiMediaCard (MMC), and/or a Secure Digital (SD)card. In some embodiments, the memory 804 may comprise a combination ofmagnetic, optical, and/or semiconductor memory, and may include, forexample, RAM, ROM, flash drive, and/or a hard disk or drive. Theprocessor 802 and the memory 804 each may be, for example, locatedentirely within a single device, or may be connected to each other by acommunication medium, such as a USB port, a serial port cable, a coaxialcable, an Ethernet-type cable, a telephone line, a radio frequencytransceiver, or other similar wireless or wired medium or combination ofthe foregoing. For example, the processor 802 may be connected to thememory 804 via the dataport 810.

The user interface 806 may include any user interface or presentationelements suitable for a smartphone and/or a portable computing device,such as a keypad, a display screen, a touchscreen, a microphone, and aspeaker. The communication module 808 is configured to handlecommunication links between the client device 800 and other, externaldevices or receivers, and to route incoming/outgoing data appropriately.For example, inbound data from the dataport 810 may be routed throughthe communication module 808 before being directed to the processor 802,and outbound data from the processor 802 may be routed through thecommunication module 808 before being directed to the dataport 810. Thecommunication module 808 may include one or more transceiver modulescapable of transmitting and receiving data, and using, for example, oneor more protocols and/or technologies, such as GSM, UMTS (3GSM), IS-95(CDMA one), IS-2000 (CDMA 2000), LTE, FDMA, TDMA, W-CDMA, CDMA, OFDMA,Wi-Fi, WiMAX, or any other protocol and/or technology.

The dataport 810 may be any type of connector used for physicallyinterfacing with a smartphone and/or a portable computing device, suchas a mini-USB port or an IPHONE®/IPOD® 30-pin connector or LIGHTNING®connector. In other embodiments, the dataport 810 may include multiplecommunication channels for simultaneous communication with, for example,other processors, servers, and/or client terminals.

The memory 804 may store instructions for communicating with othersystems, such as a computer. The memory 804 may store, for example, aprogram (e.g., computer program code) adapted to direct the processor802 in accordance with the present embodiments. The instructions alsomay include program elements, such as an operating system. Whileexecution of sequences of instructions in the program causes theprocessor 802 to perform the process steps described herein, hard-wiredcircuitry may be used in place of, or in combination with,software/firmware instructions for implementation of the processes ofthe present embodiments. Thus, the present embodiments are not limitedto any specific combination of hardware and software.

FIG. 23 is a functional block diagram of a general-purpose computingsystem on which the present embodiments may be implemented according tovarious aspects of present disclosure. The computer system 900 mayexecute at least some of the operations described above. The computersystem 900 may be embodied in at least one of a personal computer (alsoreferred to as a desktop computer) 900A, a portable computer (alsoreferred to as a laptop or notebook computer) 900B, and/or a server900C. A server is a computer program and/or a machine that waits forrequests from other machines or software (clients) and responds to them.A server typically processes data. The purpose of a server is to sharedata and/or hardware and/or software resources among clients. Thisarchitecture is called the client-server model. The clients may run onthe same computer or may connect to the server over a network. Examplesof computing servers include database servers, file servers, mailservers, print servers, web servers, game servers, and applicationservers. The term server may be construed broadly to include anycomputerized process that shares a resource to one or more clientprocesses.

The computer system 900 may include at least one processor 910, memory920, at least one storage device 930, and input/output (I/O) devices940. Some or all of the components 910, 920, 930, 940 may beinterconnected via a system bus 950. The processor 910 may be single- ormulti-threaded and may have one or more cores. The processor 910 mayexecute instructions, such as those stored in the memory 920 and/or inthe storage device 930. Information may be received and output using oneor more I/O devices 940.

The memory 920 may store information, and may be a computer-readablemedium, such as volatile or non-volatile memory. The storage device(s)930 may provide storage for the system 900, and may be acomputer-readable medium. In various aspects, the storage device(s) 930may be a flash memory device, a hard disk device, an optical diskdevice, a tape device, or any other type of storage device.

The I/O devices 940 may provide input/output operations for the system900. The I/O devices 940 may include a keyboard, a pointing device,and/or a microphone. The I/O devices 940 may further include a displayunit for displaying graphical user interfaces, a speaker, and/or aprinter. External data may be stored in one or more accessible externaldatabases 960.

The features of the present embodiments described herein may beimplemented in digital electronic circuitry, and/or in computerhardware, firmware, software, and/or in combinations thereof. Featuresof the present embodiments may be implemented in a computer programproduct tangibly embodied in an information carrier, such as amachine-readable storage device, and/or in a propagated signal, forexecution by a programmable processor. Embodiments of the present methodsteps may be performed by a programmable processor executing a programof instructions to perform functions of the described implementations byoperating on input data and generating output.

The features of the present embodiments described herein may beimplemented in one or more computer programs that are executable on aprogrammable system including at least one programmable processorcoupled to receive data and/or instructions from and to transmit dataand/or instructions to, a data storage system, at least one inputdevice, and at least one output device. A computer program may include aset of instructions that may be used, directly or indirectly, in acomputer to perform a certain activity or bring about a certain result.A computer program may be written in any form of programming language,including compiled or interpreted languages, and it may be deployed inany form, including as a stand-alone program or as a module, component,subroutine, or other unit suitable for use in a computing environment.

Suitable processors for the execution of a program of instructions mayinclude, for example, both general and special purpose processors,and/or the sole processor or one of multiple processors of any kind ofcomputer. Generally, a processor may receive instructions and/or datafrom a read only memory (ROM), or a random access memory (RAM), or both.Such a computer may include a processor for executing instructions andone or more memories for storing instructions and/or data.

Generally, a computer may also include, or be operatively coupled tocommunicate with, one or more mass storage devices for storing datafiles. Such devices include magnetic disks, such as internal hard disksand/or removable disks, magneto-optical disks, and/or optical disks.Storage devices suitable for tangibly embodying computer programinstructions and/or data may include all forms of non-volatile memory,including for example semiconductor memory devices, such as EPROM,EEPROM, and flash memory devices, magnetic disks such as internal harddisks and removable disks, magneto-optical disks, and CD-ROM and DVD-ROMdisks. The processor and the memory may be supplemented by, orincorporated in, one or more ASICs (application-specific integratedcircuits).

To provide for interaction with a user, the features of the presentembodiments may be implemented on a computer having a display device,such as an LCD (liquid crystal display) monitor, for displayinginformation to the user. The computer may further include a keyboard, apointing device, such as a mouse or a trackball, and/or a touchscreen bywhich the user may provide input to the computer.

The features of the present embodiments may be implemented in a computersystem that includes a back-end component, such as a data server, and/orthat includes a middleware component, such as an application server oran Internet server, and/or that includes a front-end component, such asa client computer having a graphical user interface (GUI) and/or anInternet browser, or any combination of these. The components of thesystem may be connected by any form or medium of digital datacommunication, such as a communication network. Examples ofcommunication networks may include, for example, a LAN (local areanetwork), a WAN (wide area network), and/or the computers and networksforming the Internet.

The computer system may include clients and servers. A client and servermay be remote from each other and interact through a network, such asthose described herein. The relationship of client and server may ariseby virtue of computer programs running on the respective computers andhaving a client-server relationship to each other.

In a first aspect, a method for an audio/video (A/V) recording andcommunication device, the A/V recording and communication deviceincluding a camera, a processor, a memory, and a communication module isprovided, the method comprising recording, with the camera, video imagedata of an area about the A/V recording and communication device,executing, by the processor, a write operation to write the video imagedata into the memory at a write rate, while writing the video image datainto the memory, detecting an event in the area about the A/V recordingand communication device, after detecting the event in the area aboutthe A/V recording and communication device, executing, by the processor,a read operation to read the video image data out of the memory at afirst read rate that is greater than the write rate, and the processorcontinuing to write the video image data into the memory at the writerate, the processor continuing to read the video image data out of thememory at the first read rate until the read operation catches up to thewrite operation, after the read operation catches up to the writeoperation, the processor reading the video image data out of the memoryat a second read rate equal to the write rate, and the processorcontinuing to write the video image data into the memory at the writerate, and transmitting, by the communication module, streaming video toa client device, wherein a beginning portion of the streaming video isstreamed at a first stream rate and thereafter the streaming video isstreamed at a second stream rate less than the first stream rate.

In an embodiment of the first aspect, the first stream rate is equal tothe first read rate and the second stream rate is equal to the secondread rate.

In another embodiment of the first aspect, the memory comprises arolling buffer.

In another embodiment of the first aspect, the read operation begins ata beginning of the rolling buffer.

In another embodiment of the first aspect, the rolling buffer comprisesa plurality of blocks, and the beginning of the rolling buffer compriseswhichever of the blocks contains an oldest portion of the video imagedata.

Another embodiment of the first aspect further comprises sending, withthe communication module, a connection request to a network device.

In another embodiment of the first aspect, the A/V recording andcommunication device comprises a doorbell having a front button.

In another embodiment of the first aspect, detecting the event in thearea about the A/V recording and communication device comprisesdetecting that the front button of the doorbell has been pressed.

In another embodiment of the first aspect, detecting the event in thearea about the A/V recording and communication device comprisesdetecting motion.

In another embodiment of the first aspect, the A/V recording andcommunication device further comprises a speaker and a microphone.

In a second aspect, an audio/video (A/V) recording and communicationdevice is provided, the device comprising a camera configured to recordvideo image data of an area about the A/V recording and communicationdevice, a memory, a communication module configured to transmitstreaming video to a client device, and a processor, wherein theprocessor is configured to execute a write operation to write the videoimage data into the memory at a write rate, while writing the videoimage data into the memory, detect an event in the area about the A/Vrecording and communication device, after detecting the event in thearea about the A/V recording and communication device, execute a readoperation to read the video image data out of the memory at a first readrate that is greater than the write rate, and continue to write thevideo image data into the memory at the write rate, continue to read thevideo image data out of the memory at the first read rate until the readoperation catches up to the write operation, and after the readoperation catches up to the write operation, read the video image dataout of the memory at a second read rate equal to the write rate, andcontinue to write the video image data into the memory at the writerate, wherein the communication module is configured to stream abeginning portion of the streaming video to the client device at a firststream rate and thereafter to stream the streaming video to the clientdevice at a second stream rate less than the first stream rate.

In an embodiment of the second aspect, the first stream rate is equal tothe first read rate and the second stream rate is equal to the secondread rate.

In another embodiment of the second aspect, the memory comprises arolling buffer.

In another embodiment of the second aspect, the read operation begins ata beginning of the rolling buffer.

In another embodiment of the second aspect, the rolling buffer comprisesa plurality of blocks, and the beginning of the rolling buffer compriseswhichever of the blocks contains an oldest portion of the video imagedata.

In another embodiment of the second aspect, the communication module isfurther configured to send a connection request to a network device.

In another embodiment of the second aspect, the A/V recording andcommunication device comprises a doorbell having a front button.

In another embodiment of the second aspect, detecting the event in thearea about the A/V recording and communication device comprisesdetecting that the front button of the doorbell has been pressed.

In another embodiment of the second aspect, detecting the event in thearea about the A/V recording and communication device comprisesdetecting motion.

Another embodiment of the second aspect further comprises a speaker anda microphone.

In a third aspect, a method for an audio/video (A/V) recording andcommunication device (A/V device) is provided, the A/V device includinga camera, a processor, a memory, and a communication module, the methodcomprising: recording, with the camera, video image data; executing, bythe processor, a write operation to write the video image data into thememory at a write rate; while writing the video image data into thememory, detecting an event in an area about the A/V device;transmitting, by the communication module, a connection request to anetwork device to connect the A/V device to a client device andconnecting, by the communication module, to the client device via thenetwork device; executing, by the processor, a read operation to readthe video image data out of the memory at a first read rate that isgreater than the write rate, and the processor continuing to write thevideo image data into the memory at the write rate; the processorcontinuing to read the video image data out of the memory at the firstread rate until the read operation catches up to the write operation;after the read operation catches up to the write operation, theprocessor reading the video image data out of the memory at a secondread rate equal to the write rate, and the processor continuing to writethe video image data into the memory at the write rate; transmitting, bythe communication module, streaming video to the client device via thenetwork device, wherein a beginning portion of the streaming video isstreamed at a first stream rate and thereafter the streaming video isstreamed at a second stream rate less than the first stream rate.

In an embodiment of the third aspect, the first stream rate is equal tothe first read rate and the second stream rate is equal to the secondread rate.

In another embodiment of the third aspect, the memory comprises arolling buffer.

In another embodiment of the third aspect, the read operation begins ata beginning of the rolling buffer.

In another embodiment of the third aspect, the rolling buffer comprisesa plurality of blocks, and the beginning of the rolling buffer compriseswhichever of the plurality of blocks contains an oldest portion of thevideo image data.

In another embodiment of the third aspect, the network device is aserver.

In another embodiment of the third aspect, the A/V device comprises adoorbell having a front button.

In another embodiment of the third aspect, detecting the event in thearea about the A/V device comprises detecting that the front button ofthe doorbell has been pressed.

In another embodiment of the third aspect, detecting the event in thearea about the A/V device comprises detecting motion using the camera.

In another embodiment of the third aspect, the A/V device furthercomprises a motion sensor and wherein detecting the event in the areaabout the A/V device comprises detecting motion using the motion sensor.

In a fourth aspect, an audio/video (AN) recording and communicationdevice (A/V device) is provided, the A/V device comprising: a camera; amemory; a communication module configured to transmit streaming video toa client device via a network device; and a processor; wherein theprocessor is configured to: execute a write operation to write videoimage data recorded by the camera into the memory at a write rate; whilewriting the video image data into the memory, detect an event in an areaabout the A/V device; execute a read operation to read the video imagedata out of the memory at a first read rate that is greater than thewrite rate, and continue to write the video image data into the memoryat the write rate; continue to read the video image data out of thememory at the first read rate until the read operation catches up to thewrite operation; and after the read operation catches up to the writeoperation, read the video image data out of the memory at a second readrate equal to the write rate, and continue to write the video image datainto the memory at the write rate; wherein the communication module isconfigured to stream a beginning portion of the streaming video to theclient device via the network device at a first stream rate andthereafter to stream the streaming video to the client device via thenetwork device at a second stream rate less than the first stream rate.

In an embodiment of the fourth aspect, the first stream rate is equal tothe first read rate and the second stream rate is equal to the secondread rate.

In another embodiment of the fourth aspect, the memory comprises arolling buffer.

In another embodiment of the fourth aspect, the read operation begins ata beginning of the rolling buffer.

In another embodiment of the fourth aspect, the rolling buffer comprisesa plurality of blocks, and the beginning of the rolling buffer compriseswhichever of the plurality of blocks contains an oldest portion of thevideo image data.

In another embodiment of the fourth aspect, detecting the event in thearea about the A/V device comprises detecting motion using the camera.

In another embodiment of the fourth aspect, the A/V device furthercomprises a motion sensor and wherein detecting the event in the areaabout the A/V device comprises detecting motion using the motion sensor.

In another embodiment of the fourth aspect, the A/V device furthercomprises a microphone and the communication module is furtherconfigured to transmit streaming audio to the client device via thenetwork device.

In another embodiment of the fourth aspect, the processor is furtherconfigured to: execute the write operation to write audio data recordedby the microphone into the memory at the write rate; execute the readoperation to read the audio data out of the memory at the first readrate that is greater than the write rate, and continue to write theaudio data into the memory at the write rate; continue to read the audiodata out of the memory at the first read rate until the read operationcatches up to the write operation; and after the read operation catchesup to the write operation, read the audio data out of the memory at thesecond read rate equal to the write rate, and continue to write theaudio data into the memory at the write rate.

In another embodiment of the fourth aspect, the communication module isfurther configured to stream a beginning portion of the streaming audioto the client device via the network device at the first stream rate andthereafter to stream the streaming audio to the client device via thenetwork device at the second stream rate less than the first streamrate.

The above description presents the best mode contemplated for carryingout the present embodiments, and of the manner and process of practicingthem, in such full, clear, concise, and exact terms as to enable anyperson skilled in the art to which they pertain to practice theseembodiments. The present embodiments are, however, susceptible tomodifications and alternate constructions from those discussed abovethat are fully equivalent. Consequently, the present invention is notlimited to the particular embodiments disclosed. On the contrary, thepresent invention covers all modifications and alternate constructionscoming within the spirit and scope of the present disclosure. Forexample, the steps in the processes described herein need not beperformed in the same order as they have been presented, and may beperformed in any order(s). Further, steps that have been presented asbeing performed separately may in alternative embodiments be performedconcurrently. Likewise, steps that have been presented as beingperformed concurrently may in alternative embodiments be performedseparately.

What is claimed is:
 1. A method comprising: generating first image data by an audio/video (A/V) recording and communication doorbell (A/V doorbell); writing the first image data into a memory of the A/V doorbell at a write rate; while writing the first image data into the memory, at least one of detecting motion or receiving an input; based at least in part on the at least one of detecting the motion or receiving the input, reading the first image data out of the memory at a first read rate that is greater than the write rate; transmitting the first image data to one or more devices; while transmitting the first image data, generating second image by the A/V doorbell; writing the second image data into the memory at the write rate; reading the second image data out of the memory at the first read rate this is greater than the write rate; transmitting the second image data to the one or more devices; determining that a read operation has caught up to a write operation; based at least in part on determining that the read operation has caught up to the write operation, generating third image data by the A/V doorbell; writing the third image data into the memory at the write rate; based at least in part on determining that the read operation catches up to the write operation, reading the third image data out of the memory at a second read rate that is equal to the write rate; and transmitting the third image data to the one or more devices.
 2. The method of claim 1, wherein: transmitting the first image data to the one or more devices comprises transmitting the first image data to the one or more devices at a first stream rate that is equal to the first read rate; and transmitting the third image data to the one or more devices comprises transmitting the third image data to the one or more devices at a second stream rate that is equal to the second read rate.
 3. The method of claim 1, wherein the memory comprises a rolling buffer.
 4. The method of claim 3, wherein reading the first image data comprises reading the first image data beginning at a beginning of the rolling buffer and at the first read rate.
 5. The method of claim 1, wherein receiving the input comprises receiving the input using a button of the A/V doorbell.
 6. The method of claim 1, wherein detecting the motion comprises detecting the motion using a camera of the A/V doorbell.
 7. The method of claim 1, wherein detecting the motion comprises detecting the motion using a motion sensor of the A/V doorbell.
 8. The method of claim 1, further comprising: generating first audio data by the A/V doorbell; writing the first audio data into the memory at the write rate; after detecting the event, reading the first audio data out of the memory at the first read rate; transmitting the first audio data to the one or more devices; after determining that the read operation has caught up to the write operation, generating second audio data by the A/V doorbell; writing the second audio data into the memory at the write rate; reading the second audio data out of the memory at the second read rate; and transmitting the second audio data to the network device.
 9. The method of claim 1, wherein: generating the first image data comprises generating, by the A/V doorbell, the first image data representing an object prior to the event being detected; and generating the third image data comprises generating, by the A/V doorbell, the third image data representing the object after the event is detected.
 10. The method of claim 1, wherein: the first image data represents an object prior to the event being detected by the A/V doorbell; and the second image data represents the object after the event is detected by the A/V doorbell.
 11. An audio/video (A/V) recording and communication doorbell (A/V doorbell), comprising: a camera; a communication device; a processor; and a memory storing a program comprising instructions that, when executed by the processor, cause the A/V doorbell to: write first image data generated by the camera into the memory at a write rate; while writing the first image data into the memory, detect an event; read the first image data out of the memory at a first read rate that is greater than the write rate; transmit, using the communication device, the first image data to one or more devices; while transmitting the first image data, write second image data generated by the camera into the memory at the write rate; read the second image data out of the memory at the first read rate; transmit the second image data to the one or more devices; determine that a read operation has caught up to a write operation; write third image data generated by the camera into the memory at the write rate; based at least in part on determining that the read operation has caught up to the write operation, read the third image data out of the memory at a second read rate that is equal to the write rate; and transmit, using the communication device, the third image data to the one or more devices.
 12. The A/V doorbell of claim 11, wherein the first image data is transmitted at a first stream rate that is equal to the first read rate and the third image data is transmitted at a second stream rate that is equal to the second read rate.
 13. The A/V doorbell of claim 11, wherein the memory comprises a rolling buffer.
 14. The A/V doorbell of claim 11, wherein detecting the event comprises detecting motion using the camera.
 15. The A/V doorbell of claim 11, further comprising a motion sensor, and wherein detecting the event comprises detecting motion using the motion sensor.
 16. The A/V doorbell of claim 11, further comprising a microphone, and wherein the program comprises further instructions that, when executed by the processor, further cause the A/V doorbell to transmit, using the communication device, first audio data generated by the microphone to the one or more devices.
 17. The A/V doorbell of claim 16, wherein the program comprises further instructions that, when executed by the processor, further cause the A/V doorbell to: write the first audio data recorded by the microphone into the memory at the write rate; read the audio data out of the memory at the first read rate; after the read operation has caught up to the write operation, write second audio data generated by the microphone into the memory at the write rate; and read the second audio data out of the memory at the second read rate.
 18. The A/V doorbell of claim 17, wherein the first audio data is transmitted at a first stream rate and the program comprises further instructions that, when executed by the processor, further cause the A/V doorbell to transmit, using the communication device, the second audio data to the one or more devices at a second stream rate.
 19. The A/V doorbell as recited in claim 11, further comprising at least one of: an input device; at least one speaker; or at least one motion sensor.
 20. A method comprising: generating first image data by an audio/video (A/V) recording and communication device (A/V doorbell); writing the first image data into a memory of the A/V doorbell; while writing the first image data into the memory, detecting, by the A/V doorbell, an event; based at least in part on detecting the event, reading the first image data out of the memory at a first rate; transmitting the first image data to one or more devices at a second rate that is based at least in part on the first rate; while transmitting the first image data, generating second image data by the A/V doorbell; writing the second image into the memory; reading the second image data out of the memory at the first read rate; transmitting the second image data to the one or more devices at the second rate; determining that a read operation has caught up to a write operation; generating third image data by the A/V doorbell; writing the third image data into the memory; based at least in part on determining that the read operation has caught up to the write operation, reading the third image data out of the memory at a third rate that is less than the first rate; and transmitting the third image data to the network device at a fourth rate that is based at least in part on the third rate. 